Communication systems include a wide assortment of devices such as switches, routers, base stations, transceivers, etc., distributed over a wide geography, connected by a network such as an Ethernet network and/or a wireless network. At least some of these devices must be synchronized in time for correct operation of the system. A protocol for time synchronization of disparate elements in a distributed electronic system is promulgated by the Institute of Electrical and Electronic Engineers (IEEE) is known as IEEE Standard 1588, and is referred to herein as the Precision Time Protocol (PTP). The PTP is implemented to achieve clock accuracy in the sub-microsecond range, making it suitable for measurement, control, and communication systems.
The challenge addressed by the PTP is to synchronize networked devices with a master clock providing a precise time, where the local clocks of the networked devices may not be as accurate as the master clock. Basically, the master clock periodically broadcasts synchronization packets which contain a time stamp to the slave devices. Based on the time stamp and by means of its own local clock, a receiving (slave) device can calculate the time difference between its local clock and the master clock, and also determine a packet propagation time. The slave can then correct its clock based on the propagation time and the time difference, to achieve synchronization of the slave clock to the master clock.
To automatically configure a network for time synchronization, each node executes a “best master clock” (BMC) algorithm to determine the best clock in a domain (sub-network) of the network. The BMC algorithm is run periodically, so that the PTP can account for changes in the configuration of the network due to the removal, addition, or repositioning of a network device.
In a typical configuration, a network may include a master clock and subordinate PTP service instances distributed in the network but connected to the master clock. The master clock is a clock having high accuracy and precision. A PTP service instance is clock that may be synchronized to the master clock, and in turn, provides time stamps to other network devices that may be further away from the master clock than the PTP service instance. More than one PTP service instance can serve the same subdomain of a network. For example, two PTP service instances may be provided to achieve redundancy, so that if one PTP service instance fails or becomes inaccessible due to a link fault, the remaining PTP service instance will continue in operation to provide time stamps to the devices in the subdomain.
Thus, in one known configuration multiple PTP service instances are running simultaneously. These active PTP service instances may be all located in a single node or located in different nodes. A challenge to having multiple active PTP service instances is the relative complexity and cost of such a configuration. In another known configuration, there may be one active PTP service instance and one or more inactive PTP service instances. If a fault disables service of the active PTP service instance, an inactive PTP service instance may be selected to replace the formerly active PTP service instance. The active and inactive PTP service instances can be located in the same node or in different nodes. A challenge to having inactive backup PTP service instances is that a long time is required to bring an inactive PTP service instance into an active and synchronized state. This restoration time may depend upon the network environment and local hardware, making the restoration time unpredictable.
Thus, it is desirable to have an arrangement that provides PTP service instance redundancy without having multiple active PTP service instances for a single domain, and having relatively fast switchover to another PTP service instance when an active PTP service instance fails.